#pragma once
#ifndef __BGA_EXCEPTION_H
#define __BGA_EXCEPTION_H

#include "bgaos.h"
#include <string>
using namespace std;

#ifdef BCL_USE_GNU
#pragma GCC visibility push(default)
#endif

namespace BogozmaCommunicationLibrary
   {
   class BGACOMLIB_EXPORT CBgaException
      {
      public:
         CBgaException(const char* msg, int exid);
         ~CBgaException(void);

         int  GetExceptionId();
		 const char* what();

      private:
         int m_ExceptionId;
		 std::string m_ExceptionMessage;
      };
   }

#ifdef BCL_USE_GNU
#pragma GCC visibility pop
#endif

#endif
